/**
 * 使用 HttpClient 的实现版本,已经过时了.
 */

//package com.vgemv.jsutilitysdk.Request;
//
//
//
//import com.vgemv.jsutilitysdk.Request.JsRequestManager.JsRequestCallback;
//import com.vgemv.jsutilitysdk.Request.JsRequestManager.JsRequestDictionaryCallback;
//import com.vgemv.jsutilitysdk.Request.JsRequestInterface;
//import com.vgemv.jsutilitysdk.model.VgemvModel.BaseEntity;
//
//import org.apache.http.HttpResponse;
//import org.apache.http.client.HttpClient;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.client.protocol.ClientContext;
//import org.apache.http.entity.StringEntity;
//import org.apache.http.impl.client.BasicCookieStore;
//import org.apache.http.impl.client.DefaultHttpClient;
//import org.apache.http.params.CoreConnectionPNames;
//import org.apache.http.params.CoreProtocolPNames;
//import org.apache.http.protocol.BasicHttpContext;
//import org.apache.http.util.EntityUtils;
//
//import java.io.IOException;
//import java.util.Map;
//
//public class GajHcNetworkManager implements JsRequestInterface {
//
//    private static GajHcNetworkManager mgajNetworkManager = new GajHcNetworkManager();
//
//    public static GajHcNetworkManager sharedInstance() {
//        return mgajNetworkManager;
//    }
//
//
//    private  BasicCookieStore cookie;
//    private BasicHttpContext context;
//    private HttpClient client2;
//
//    GajHcNetworkManager() {
//        cookie = new BasicCookieStore();
//        context = new BasicHttpContext();
//        // instance.client = AndroidHttpClient.newInstance("");
//        client2 = new DefaultHttpClient();
//
//        client2.getParams().setParameter(
//                CoreConnectionPNames.CONNECTION_TIMEOUT, 1000);
//        client2.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
//
//        client2.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "Apache-HttpClient/release Android "+android.os.Build.VERSION.RELEASE);
//
////        client2.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(3,true));
//        context.setAttribute(ClientContext.COOKIE_STORE, cookie);
//    }
//
//
//
//
//
//    /**
//     * 请求参数,是通过一个stringEntity来传递的.最好能通过Map来传递.
//     * @param  urlString
//     * @param requestEntity
//     */
//    @Override
//    public void postRequest(String urlString, BaseEntity requestEntity, JsRequestCallback cb) {
//        String requestBodyString = requestEntity.toJsonString();
//        postRequest(urlString,requestBodyString,cb);
//    }
//
//
//    @Override
//    public void postRequest(final String url, final String requestBodyString, final JsRequestCallback cb) {
//        new Thread() {
//            @Override
//            public void run() {
//                super.run();
//                //只有服务器返回200,且整个流程无其他异常,才为true;
//                Boolean isSuccess = false;
//                Exception exception = null;
//
//                HttpClient client = client2;
//                client.getParams().setParameter(
//                        CoreConnectionPNames.CONNECTION_TIMEOUT, 1000);
//                client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
//
//
//                HttpPost post = new HttpPost(url);
//                StringEntity lStringEntity = null;
//                try {
//                    lStringEntity = new StringEntity(requestBodyString, "UTF-8");
//                }
//                catch (Exception e) {
//                    e.printStackTrace();
//                }
//                post.setEntity(lStringEntity);
//
//                Integer statusCode = null;
//                HttpResponse res = null;
//                try {
//                    res = client.execute(post);
//                }
//                catch (Exception e) {
//                    e.printStackTrace();
//                    exception = e;
//                }
//
//                statusCode = res.getStatusLine().getStatusCode();
//
//
//                String str_result = "";
//                if (statusCode == 200) {
//                    try {
//                        str_result = EntityUtils.toString(res.getEntity());
//                    } catch (IOException e) {
//                        e.printStackTrace();
//                        exception = e;
//                        statusCode = JsRequestInterface.ResponseStatusResponseParseError;
//                    }
//                } else {
//
//                }
//                StringBuilder lStringBuilder = new StringBuilder();
//                String lString = String.format("------ %s -------\n\n","Request Start");
//                lStringBuilder.append(lString);
//
//                lString = String.format("RequestMethod:%s\n\n","POST");
//                lStringBuilder.append(lString);
//
//                lString = String.format("RequestUrl:%s\n\n",url);
//                lStringBuilder.append(lString);
//
//                lString = String.format("RequestParameter:%s\n\n",requestBodyString);
//                lStringBuilder.append(lString);
//
//                lString = String.format("ResponseResult:%s\n\n",str_result);
//                lStringBuilder.append(lString);
//
//                lString = String.format("====== %s ======\n\n","Request End");
//                lStringBuilder.append(lString);
//
//                String requestDetail = lStringBuilder.toString();
//                cb.onRequestResponse(true,statusCode,str_result,requestDetail,null);
//            }
//        }.start();
//    }
//
//    @Override
//    public void postRequestWithJsonBody(String url, Map map_param, JsRequestDictionaryCallback cb) {
//
//    }
//}
